perm filename LETTER.CHA[P,JRA] blob
sn#163297 filedate 1975-06-10 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \\M1BASL30\M2BASB30\M3NGR25\M4NGR20\F2\CSTANFORD UNIVERSITY
C00015 ENDMK
C⊗;
\\M1BASL30;\M2BASB30;\M3NGR25;\M4NGR20;\F2\CSTANFORD UNIVERSITY
\F3\CSTANFORD, CALIFORNIA 94305
\F4COMPUTER SCIENCE DEPARTMENT\←L\-R\/'7;\+R\→.\→S Telephone:
\←S\→.415-497-4971
\F1\CJun 10, 1975
Dr. Shu-Park Chan, Chairman
Electrical Engineering and Computer Science
Santa Clara University
Santa Clara, Cal
Dear Dr Chan:
\JThis letter accompanies one I sent Dr. Clegg and contains much of
we will talk about. I am writing it so that you will have some written
reference.
The position I am stating here is basically that of my letter to Dr. Clegg:
I feel that you will be hard pressed to find someone with my background
and experience and desire to teach; and that if the position on your
faculty is available and reasonable, I want it.
Let me give you a bit more background than that which appears in my resume.
My undergraduate and initial graduate work was in pure mathematics; I received
my Master's degree in 1962 and did another year of graduate work in 1963.
It was at UCSB that I started teaching and enjoyed it very much.
I went to GM Research Labs the next year as a mathematical programmer and
started getting interested systems programming and first learned about
McCarthy's computation theory. I transcribed LISP to the IBM7040 as an after
hours project, and began modifying the IBM monitors to conform to local
needs because it was fun.
In 1965 I came to McCarthy's group at Stanford and was part of the original
Artificial Intelligence Group.
Our initial project was the design of a display-based time sharing system
based on the PDP-1 hardware and some reasonably sophisticated display terminals.
What we wanted to show was that usability of a machine can be significantly
improved using the proper display consoles; that there are ways of using
machines which are just not feasible with teletypes, storage-tube, or scrolling
displays. Our results were published in one of the SJCC volumes. The results
formed the basis of the display system which is currently being used on
the AI project's PDP-6/10. Many of the techniques and concepts which we
developed are still not well understood by industry.
We designed and built the system in less than a year and I began graduate work
the next fall at Stanford, supported by the AI Project. At that time
the Computer Science department was quite small and the course material
was significantly less sophisticated than the work I was doing in the
project. Because of this and my great interest in mathematics and computation
almost all of my formal work at Stanford is in mathematical logic.
My courses were from the best: Feferman, Harvey Freidman, Dana Scott, Kreisel,...
The people I was working with at the labs and in the department
were also of top caliber: Bill McKeeman (Chairman at UCSC), Tony Hearn (Chairman
at Utah), Steve Russell (originator of Space War, inventor of garbage collection,
and original implementor of LISP), Bill Weiher (systems manager at Tymeshare)
and of course John McCarthy. There were certainly many others; the basic point
is that I was working and studying in one of the very richest and best computer
science environments.
When the project got its PDP-6 I implemented Stanford LISP and maintained the
original monitors for the system. Stanford LISP is known as one of the
better versions, significantly faster than INTERLISP. I started working
with David Luckham on theorem-proving soon after that. This involved
both theoretical studies on theorem-proving strategies and implementation
of an interactive therorem-proving system. This work was to be the basis
of my thesis; alas, I did not finish it. That I regret. The initial
phases of our work were reported in a paper we gave in Edinburgh in 1969.
In 1970-1972 I was Assistant Professor of computer sceince at UCLA.
This was my first experience with the outside world of computers.
I did not like what I saw; I saw a very distorted approach to computer
science was even more suprised to find that UCLA was not atypical.
Stanford was atypical. I began writing my book on computer science
in 1971-1972.
I taught courses at UCLA on machine organization, data structures, semantics
of programming languages, and compiler construction. I instigated
a seminar with some of my students; we studied extensible languages and
questions of correctness and problems of language design. Most of
these were students who had taken two or three courses from me,
understood my approach and were thus able do quite credible work in
the seminar.
I returned to the AI Lab in 1972 and have been here since.
I have been working on mathematical semantics, theorem-proving,
verification, and automatic
programming here, and have been writing my book and formalizing my views on
computer science education.
The last two years I have taught short
courses at UCSC, and this last spring I taught a full semester course
at San Jose State. It was coming clear to me that I wanted to
be able to teach as well as do research and wanted to push hard for
a revision of the way computer science is taught. The first of
this month I quit at the lab.
My book will be published by McGraw-Hill as a foundational book on
computer science. The reviews have been very good and by the time
I have finished the revisions and additions I feel the text will be
one of the best.
This is one of my attacks on computer science education: a text which
talks about the basic structure of computation and programming languages.
The second attack is through my research grant: the production of
better ways to do and understand programming.
Basically I feel that most programming classes do little more than produce
coders; what we must do is teach about algorithms and problem-solving.
To go with the teaching we must develop programming tools which
mirror this style of teaching. What I have proposed is the beginnings of
a interactive programming system. The initial phase is a display oriented
command language for developing algorithms and describing data structures.
This is the basis of a grant currently being pushed through Dr. Pat Suppes
CAI group at Stanford. The more interesting and potentially more
exciting areas of my system involve a realistic approach to the problems
of helping people to write correct programs.
There are some very difficult problems here involving language design, formal
specification and some non-trivial problems of human engineering.
What happens to that part of the system depends on where I go.
I am currently revising my manuscript and twice a week I am running
a seminar at San Jose State on some of the very recent results in
mathematical semantics and theories of computation. My grant through Suppes
group is in for review and should be funded within three months.
In summary I would again say that my background is one of the most
varied and deep. I have worked closely with some of the very best people in the field
and have been involved in work and research which covers almost all of the
field except hardware design. I enjoy teaching very much and give to
my students much of my enthusiasm and depth. Though I do not have a
PhD., I am currently advising a PhD candidate here at Stanford and have
been a reader for another Stanford student. I was also on several
PhD. committees at UCLA and gave qualifying exams there in theorem-proving
and artificial intelligence.
I look forward to hearing from you.
\.
\←L\→S\←R\-L\/'2;\+L\→L
Yours sincerely,
John R. Allen
Research Associate
Computer Science Dept
Artificial Intelligence Lab
\←S\→L